MIME-Version: 1.0
Server: CERN/3.0
Date: Tuesday, 07-Jan-97 14:42:58 GMT
Content-Type: text/html
Content-Length: 3334
Last-Modified: Saturday, 04-Mar-95 05:56:52 GMT

<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
<!Converted with LaTeX2HTML 95.1 (Fri Jan 20 1995) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
<HEAD>
<TITLE>FP + OOP = Haskell</TITLE>
</HEAD>
<BODY>
<meta name="description" value="FP + OOP = Haskell">
<meta name="keywords" value="fp+oop=haskell">
<meta name="resource-type" value="document">
<meta name="distribution" value="global">
<P>
 <BR> <HR><A NAME=tex2html4 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="next" SRC="http://net.cs.utexas.edu/pub/icons/latex2html/next_motif.gif"></A>   <IMG ALIGN=BOTTOM ALT="up" SRC="http://net.cs.utexas.edu/pub/icons/latex2html/up_motif_gr.gif">   <IMG ALIGN=BOTTOM ALT="previous" SRC="http://net.cs.utexas.edu/pub/icons/latex2html/previous_motif_gr.gif">   <A NAME=tex2html6 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="http://net.cs.utexas.edu/pub/icons/latex2html/contents_motif.gif"></A>      <BR>
<B> Next:</B> <A NAME=tex2html5 HREF="node1.html">Contents</A>
<BR> <HR> <P>
<P>
<H1>FP + OOP = Haskell</H1>
<P><STRONG>  Emery Berger <BR> 
          <tt> emery@cs.utexas.edu</tt> <BR> 
	  Department of Computer Science <BR> 
          The University of Texas at Austin <BR> 
          Austin, Texas 78712-1188 <BR> 
          <BR> 
          TR-92-30 <BR> </STRONG><P>
<P><STRONG>December 12, 1991</STRONG><P>
<P>
<P>
<P>
<H3>Abstract:</H3>
<EM>The programming language Haskell adds object-oriented functionality (using
a concept known as <em> type classes</em>) to a pure functional programming
framework. This paper describes these extensions and analyzes its
accomplishments as well as some problems.
<P>
</EM><P>
<P>
<BR> <HR>
<UL> 
<LI> <A NAME=tex2html7 HREF="node1.html#SECTION00010000000000000000">Contents</A>
<LI> <A NAME=tex2html8 HREF="node2.html#SECTION00020000000000000000"> Introduction</A>
<LI> <A NAME=tex2html9 HREF="node3.html#SECTION00030000000000000000"> Haskell overview</A>
<LI> <A NAME=tex2html10 HREF="node4.html#SECTION00040000000000000000"> Type classes</A>
<UL> 
<LI> <A NAME=tex2html11 HREF="node5.html#SECTION00041000000000000000"> Motivation</A>
<UL> 
<LI> <A NAME=tex2html12 HREF="node6.html#SECTION00041100000000000000"> Arithmetic</A>
<LI> <A NAME=tex2html13 HREF="node7.html#SECTION00041200000000000000"> Equality</A>
</UL> 
<LI> <A NAME=tex2html14 HREF="node8.html#SECTION00042000000000000000"> Syntax and semantics</A>
<LI> <A NAME=tex2html15 HREF="node9.html#SECTION00043000000000000000"> Implementation</A>
<LI> <A NAME=tex2html16 HREF="node10.html#SECTION00044000000000000000"> Accomplishments</A>
<LI> <A NAME=tex2html17 HREF="node11.html#SECTION00045000000000000000"> Problems</A>
<UL> 
<LI> <A NAME=tex2html18 HREF="node12.html#SECTION00045100000000000000"> Ambiguity</A>
<LI> <A NAME=tex2html19 HREF="node13.html#SECTION00045200000000000000"> Restricting polymorphism</A>
<LI> <A NAME=tex2html20 HREF="node14.html#SECTION00045300000000000000"> Pattern Matching</A>
</UL> 
</UL> 
<LI> <A NAME=tex2html21 HREF="node15.html#SECTION00050000000000000000"> Conclusion</A>
<LI> <A NAME=tex2html22 HREF="node16.html#SECTION00060000000000000000">References</A>
<LI> <A NAME=tex2html23 HREF="node17.html#SECTION00070000000000000000">   About this document ... </A>
</UL>
<BR> <HR>
<P><ADDRESS>
<I>Emery Berger <BR>
Fri Mar  3 23:54:43 CST 1995</I>
</ADDRESS>
</BODY>
